home *** CD-ROM | disk | FTP | other *** search
/ Belgian Amiga Club - ADF Collection / BS1 part 05.zip / BS1 part 5 / ANC_UTULITYS_16.adf / arclist / scroll.arc / ScrollVIII.S < prev    next >
Text File  |  1988-09-21  |  3KB  |  190 lines

  1. gfxb=$7ff00
  2. count=$7ff04
  3. baba=$7ff08
  4. charp=$7ff0c
  5. oldcop=$7ff10
  6. intrpt=$7ff14
  7. count2=$7ff18
  8.  
  9. rastport=$7fe00
  10. bitmap=$7fea0
  11.  
  12. org $40000
  13. load $40000
  14.  
  15. beg:
  16. movem.l a6/a5/a4/a3/a2/a1/a0/d7/d6/d5/d4/d3/d2/d1/d0,-(A7)
  17. move.l #scrolly,charp            ; Where scrolly resides
  18. move.l $000004,a6
  19. lea    glib,a1
  20. jsr    -408(a6)
  21. move.l d0,a6
  22. move.l a6,gfxbase
  23.  
  24. lea    bitmap,a0
  25. moveq    #1,d0
  26. moveq    #8,d1
  27. moveq    #8,d2
  28. jsr    -390(a6)            ; InitBitmap
  29.  
  30. lea    bitmap,a0
  31. move.l    #work,8(a0)
  32.  
  33. lea    rastport,a1
  34. jsr    -198(a6)            ; InitRastPort
  35.  
  36. lea    bitmap,a0
  37. move.l    a0,rastport+4            ; struct BitMap *bitmap
  38.  
  39. move.b #1,count2
  40. move.b #$08,count
  41. lea    $48000,a0
  42. moveq  #$7f,d0
  43. clrmem:
  44. clr.l  (a0)+
  45. dbf    d0,clrmem
  46. move.w #$8380,$dff096
  47. move.w #$0020,$dff096
  48. move.w #$4000,$dff09a
  49. chkbtn:
  50. btst   #6,$bfe001
  51. beq    pressed
  52. cmpi.b #228,$dff006
  53. bne.s  chkbtn
  54. move.w #$00f,$dff180
  55. move.l #copl,$dff080
  56. lea    $dff000,a0
  57. clr.l  $120(a0)
  58. clr.w  $102(a0)
  59. move.l #$f9f00000,$40(a0)
  60. move.l #$ffffffff,$44(a0)
  61. move.l #$00048000,$50(a0)
  62. move.l #$00047ffe,$54(a0)
  63. clr.l  $64(a0)
  64. move.w #$1018,$58(a0)
  65. wtbl:
  66. btst   #$e,$dff002
  67. bne.s  wtbl
  68. move.l #$f9f00000,$40(a0)
  69. move.l #$ffffffff,$44(a0)
  70. move.l #$00049000,$50(a0)
  71. move.l #$00048ffe,$54(a0)
  72. clr.l  $64(a0)
  73. move.w #$1018,$58(a0)
  74. wtbl2:
  75. btst   #$e,$dff002
  76. bne.s  wtbl2
  77. subq.b #$01,count
  78. bne.L  endint
  79. move.w #$0f00,$dff180
  80. move.b #$08,count
  81. scroll:
  82. subq.b #$01,count2
  83. bne.s  nonewchar
  84. move.w #$00f0,$dff180
  85. lea    rastport,a1
  86. moveq    #8,d0
  87. moveq    #6,d1
  88. jsr    -240(a6)            ; Move (0,0)
  89. move.l charp,a0
  90. moveq  #1,d0
  91. lea    rastport,a1
  92. move.l gfxbase,a6
  93. jsr    -60(a6)                ; Fix char into workarea
  94.  
  95. move.b #8,count2
  96. move.b #8,count
  97. nonewchar:
  98. move.w    #$0f00,$dff180
  99. lea    work,a0
  100. lea    $48000+27,a1
  101. lea    $49000+27,a2
  102. moveq    #7,d5
  103. loop1:
  104. asl.b    #1,(a0)
  105. ;bcc.s    clearit
  106.  
  107. lea    char,a3                ; A Set point
  108. lea    char+8,a4
  109. moveq    #7,d4
  110. clp:
  111. move.b    (a3)+,(a1)
  112. move.b    (a4)+,(a2)
  113. add.l    #48,a1
  114. add.l    #48,a2
  115. dbf    d4,clp
  116. bra.s    skipit
  117.  
  118. clearit:
  119.  
  120. moveq    #7,d4
  121. cllp:
  122. clr.b    (a1)
  123. clr.b    (a2)
  124. add.l    #48,a1
  125. add.l    #48,a2
  126. dbf    d4,cllp
  127.  
  128. skipit:
  129. addq.l    #2,a0
  130. dbf    d5,loop1
  131.  
  132. endint:
  133. move.w    #$000,$dff180
  134. bra    chkbtn
  135. pressed:
  136. move.w #$8020,$dff096
  137. move.w #$c000,$dff09a
  138. move.l    gfxbase,a6
  139. move.l $26(a6),$dff080
  140. movem.l (a7)+,a6/a5/a4/a3/a2/a1/a0/d7/d6/d5/d4/d3/d2/d1/d0
  141. rts
  142.  
  143. gfxbase:dc.l 0
  144. copl:
  145. dc.w $008e,$6080,$0090,$a0e0
  146. dc.w $0092,$0028,$00e0,$0004,$00e2,$8000
  147. dc.w $00e4,$0004,$00e6,$9000
  148. dc.w $0182,$000a,$0184,$055e,$0186,$0fff
  149. dc.w $0094,$00d8,$0108,$0002
  150. dc.w $0104,$0010,$0100,$2200
  151. dc.w $8f01,$ff01
  152. dc.w $0182,$000f,$9001,$ff00
  153. dc.w $0182,$044f,$9101,$ff00
  154. dc.w $0182,$088f,$9201,$ff00
  155. dc.w $0182,$0ccf,$9301,$ff00
  156. dc.w $0182,$0fff,$9401,$ff00
  157. dc.w $0182,$0ccf,$9501,$ff00
  158. dc.w $0182,$088f,$9601,$ff00
  159. dc.w $0182,$044f,$9701,$ff00
  160. dc.w $0182,$000f,$9801,$ff00
  161. dc.w $fffe,$fffe
  162. glib:
  163. dc "graphics.library",0
  164. eo:
  165.  
  166. scrolly:
  167. dc "tetragon proudly presents:     tetracrunch v1.02, written by ",0
  168.  
  169. char:
  170. dc.b %11111111
  171. dc.b %10000001
  172. dc.b %10000001
  173. dc.b %10000001
  174. dc.b %10000001
  175. dc.b %10000001
  176. dc.b %10000001
  177. dc.b %11111111
  178.  
  179. dc.b %11111111
  180. dc.b %11111110
  181. dc.b %11111110
  182. dc.b %11111110
  183. dc.b %11111110
  184. dc.b %11111110
  185. dc.b %11111110
  186. dc.b %10000000
  187. end:
  188.  
  189. work:blk    16,0
  190.